Semantic Model Differencing Based on Execution Traces

نویسندگان

  • Tanja Mayerhofer
  • Philip Langer
  • Gerti Kappel
چکیده

Managing the evolution of software artifacts is a crucial issue in software engineering. As in the software engineering paradigm model-driven engineering (MDE), the main software artifacts are models, managing the evolution of models constitutes a key concern in MDE. One important technique in this realm is model differencing, which is concerned with identifying differences among different versions of models. While the majority of existing model differencing approaches use a purely syntactic approach, we propose an approach that takes the semantics of models into account. In particular, our approach utilizes the behavioral semantics of the used modeling language to execute the models to be compared and obtain execution traces constituting the models’ semantic interpretation. By comparing the obtained execution traces, semantic differences among the models are identified. Model differencing is concerned with the identification of differences among independently developed or consecutive versions of models. Therewith, it constitutes the basis for performing important change management tasks, such as model merging, model versioning, conflict detection among concurrent changes, and incremental testing. The majority of existing model differencing approaches use a syntactic approach, which applies a fine-grained comparison of two models based on their abstract syntax representation. The result of this comparison is a set of syntactic differences among the considered models, such as model elements existing in only one of the models. Although syntactic differences constitute valuable and efficiently processable information sufficient for several application domains, they are only approximations of the semantic differences among models. As pointed out by Maoz et al. [MRR11], a few syntactic differences among models may induce very different semantics and syntactically different models may still induce the same semantics. Until now, only a few model differencing approaches have been proposed that take the semantics of models into account. Maoz et al. [MRR11] and Fahrenberg et al. [FLW11] propose general procedures for realizing semantic differencing operators requiring the definition of the used modeling language’s semantics as a translation into an adequate semantic domain and the implementation of the semantic model comparison in this semantic domain. However, developing semantic differencing operators in this way constitutes a major challenge, as one has to develop translations of models into a semantic domain, comparison algorithms in this semantic domain, and translations of comparison results back into the originally used modeling languages. To mitigate this challenge, we have developed a generic semantic model differencing framework [LMK14] that can be instantiated to realize semantic differencing operators for

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Generic Framework for Realizing Semantic Model Differencing Operators

As models constitute the main software artifacts in model-driven engineering, managing their evolution has attracted much research. One important technique in this realm is model differencing concerned with identifying differences among models. The majority of existing model differencing approaches identify differences by applying a fine-grained analysis of models based on their abstract syntax...

متن کامل

RPRISM: Efficient Regression Analysis Using View-Based Trace Differencing

Revisions of software are common. Refactorings and feature updates can introduce subtle regression defects that are often not detected until much later. Identifying and fixing these regressions can be a complex and time-consuming task, aggravated by the presence of object-oriented mechanisms such as dynamic dispatch. We propose an automatic and scalable technique for identifying regressions thr...

متن کامل

An Interim Summary on Semantic Model Differencing

This position paper provides an interim summary on the goals and current state of our ongoing research project on semantic model differencing for software evolution. We describe the basics of semantic model differencing, give two examples from our recent work, and discuss future challenges in taking full advantage of the potential of semantic differencing techniques in the context of models’ ev...

متن کامل

Summaries ∗

Current techniques for validating and verifying program changes often consider the entire program, even for small changes, leading to enormous V&V costs over a program’s lifetime. This is due, in large part, to the use of syntactic program differencing techniques which are necessarily imprecise. Building on recent advances in symbolic execution of heap manipulating programs, in this paper, we d...

متن کامل

Applying Semantic Analysis to Feature Execution Traces

Recently there has been a revival of interest in feature analysis of software systems. Approaches to feature location have used a wide range of techniques such as dynamic analysis, static analysis, information retrieval and formal concept analysis. In this paper we introduce a novel approach to analyze the execution traces of features using Latent Semantic Indexing (LSI). Our goal is twofold. O...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015